The present invention relates to computers and, more particularly, to a method and system that improves computer software job accounting and software chargeback functions at computer data centers.
A typical information technology (IT) job accounting and chargeback system (JACS) such as CA-JARS MVS and CA-PMA/Chargeback from Computer Associates, CIMS from CIMS Labs, Inc., COSchargeback from OSM, M-PWR Chargeback from Nicus Software, and ChargeBack from Tidal Software; collects and maintains cost and usage data about a variety of system resources—jobs, interactive sessions, CPU time, system connect time, system memory, processors, disk usage, print output, usage of particular hardware devices, transactions, etc.
As such, a JACS provides IT managers the ability to                Inform users about their actual usage of system resources        Charge users (or departmental budgets) according to their usage        Improve system utilization and efficiency        Help reduce costs        
On most computer systems, a variety of information about the resources used by particular program-processes that execute on each Operating System (OS) is captured and recorded or logged, either by facilities within the OS itself or by other software facilities operating on the system such as job accounting or program monitoring software. On some computers, such as the S/390 mainframe, multiple logical partitions (LPAR) can be established in which separate operating systems may operate concurrently. Each operating system instance, referred to as a Logical Operating System or LOS, whether controlling an entire computer, a partition of a computer, a complex of computers, or network of computers, generates its own resource usage information that can be used by job accounting or program monitoring software. For example, process-related information on OS/390 mainframes may include data such as:                job-name;        job-id;        LOS-id;        “accounting” information applicable to the job such as a user ID, as well as a variety of platform-specific and installation-specific accounting information such as department code, customer code, outsource client code, etc.;        job-step-id;        executing module or program name;        a date and timestamp of the program start and stop times;        amount of CPU-time consumed by the process;        libraries, files or databases used by the process;        number of input or output operations performed;        print output such as the device, device type, number of pages, etc.;        etc.        
In the OS/390 mainframe environment, much of this process-related event information is gathered by the LOS or by its components and recorded in the System Management Facility (SMF) data file.
As an example of process-related information gathered by other software facilities SoftAudit, a product of Isogon Corporation, captures information about each module used by a job or job-step and records this and additional information in its own log-file. Similarly, optimization and tuning products, such as InTune from BMC or Strobe from Compuware, capture information related to the efficiency of the process and record this information in their own files. But, as an alternative, some products of this sort record their information in the OS/390 SMF data-file, using system facilities that permit data to be written to this data file as special records. This is done as a convenience, so that the end-user need not deal with a multitude of data files containing diverse data.
Combining this data with user-specified accounting information, the typical JACS translates this into actual charge and accounting information that is output as printed or online reports or provided as input for other software products such as an accounting system.
The typical JACS also permits the user to establish a scale of rates for each resource—for any number of time ranges throughout the day, for different days of the week, for the priority requested, for the turn-around time requested, etc. Such rate scales can be contained within a hierarchy of accounts, price schedules and a multi-level cost center structure. Further, the typical JACS also maintains all the relevant information in a relational database, and enables the user to perform ad hoc queries, custom reporting, forecasting, budget control, “what-if” analysis, etc. A full-featured JACS generally offers a great many other additional features, too numerous and extensive to detail here.
A software product is typically composed of numerous executable modules that are installed in one or more libraries, and, in some cases, certain modules may be shared among several products. When, for example, on OS/390 a particular job or job-step is run, it might utilize a single software product or multiple software products. However, the SMF event data only identifies the modules specified in the Job Control Language statements. Any other software modules that may have been invoked in the job and the software products which they comprise are not identified.
The typical JACS does not have usage data organized according to a software product, hence it is unable to correlate resource usage data with the identity of the software product or products used by the job or job step. Accordingly, the IT manager is unable to use a JACS to accurately calculate and chargeback the cost of using these products to the respective users.
Furthermore, the cost of licensing many software products is based upon a variety of criteria such as their functionality, number of users, power rating of the computer, etc. Some software might be free or have a nominal cost, whereas others are very expensive.
On the other hand, a technical license manager (TLM), such as an XSLM-compliant license manager (XSLM), records software product licensing events. In particular, an XSLM records such events when a software product requests permission to execute on a particular computer or partition under a particular operating system, i.e., it begins a licensing session. The record kept by the XSLM generally includes such details as whether that request was granted or not, the date and time the request was made, the ID of the user requesting execution of the product, possibly the power rating (MIPS, MSUs, etc.) of the computer or partition, etc. Further, the XSLM requires that each vendor be identified by a unique vendor ID and that the vendor assign each product a unique vendor-specific product ID which can be used to derive the names of the vendor and product. This information is also recorded when a licensing session is begun.
Though the XSLM may potentially gather a great deal of data related to the use of licensed software, it is not concerned with determining the particular program-process that might be using the software in a particular instance, or other process-related information, since this information is generally not relevant to issues of enforcing the licensing and licensed rights of the licensor of the licensed software.
Thus, while the XSLM gathers information that can be of value to a JACS, it does not record any information about the particular job, job step, or process associated with that license request. Hence, the JACS has available a source of software product usage data, but without an effective means of correlating it with process related event information.
Whereas in the past, it was “easy” to reflect the actual cost of usage by measuring hardware resource usage, this is no longer true. The general trend of declining hardware prices and rising software prices is expected to continue. Hence, the IT manager would reap greater benefit by being able to treat software products as a “resource”—directly measuring and charging back the cost of their usage.